Implementing Modular and Reusable Aspect-Oriented Concurrency Control with AspectJ
نویسندگان
چکیده
The advent of information systems based on the World Wide Web increased the impact of concurrent programs. Such increase demands the definition of methods for obtaining safe and efficient implementations of concurrent programs, since the complexity of implementation and tests in concurrent environments is higher than in sequential environments. This paper presents a simple framework that helps to modularize and, therefore, reuse concurrency control concern using AspectJ, an aspect-oriented programming language. This framework was derived from the definition of a concurrency control implementation method that guarantees system correctness without redundant concurrency control, increasing performance and guaranteeing safety. It defines abstract aspects that can be extended to implement concurrency control in several applications. The achieved modularization makes the concurrency control easy to evolve and decreases the complexity of other parts of the software, such as business and data management, by decoupling concurrency control code from them.
منابع مشابه
AspectOptima: A Case Study on Aspect Dependencies and Interactions
This paper presents AspectOptima, a language independent, aspect-oriented framework consisting of a set of ten base aspects — each one providing a well-defined reusable functionality — that can be configured to ensure the ACID properties (Atomicity, Consistency, Isolation, and Durability) for transactional objects. The overall goal of AspectOptima is to serve as a case study for aspect-oriented...
متن کاملAO Challenge, Part II: Lessons Learnt from Implementing a Reusable Aspect Framework
Writing a set of reusable aspects that can be used in isolation and in combination is a highly complex task. In this paper we identify a set of key features required for implementing reusable aspects frameworks with complex aspect dependencies and interactions based on our experience implementing AspectOptima, a language independent, aspectoriented framework that provides runtime support for tr...
متن کاملAn Aspect-Oriented Distribution Service
This project explores the possibility of providing distributed systems services through Aspect-Oriented Programming (AOP). AOP is a relatively new movement in software engineering. It allows the separation of aspects of an application from the implementation of the functional system model. AspectJ, the most general-purpose AOP language currently available, is used to present several distributio...
متن کاملApplication of Java-based Pointcuts in Aspect Oriented Programming (AOP) for Data Race Detection
Wide applicability of concurrent programming practices in developing various software applications leads to different concurrency errors amongst which data race is the most important. Java provides greatest support for concurrent programming by introducing various concurrency packages. Aspect oriented programming (AOP) is modern programming paradigm facilitating the runtime interception of even...
متن کاملApplication of Java-based Pointcuts in Aspect Oriented Programming (AOP) for Data Race Detection
Wide applicability of concurrent programming practices in developing various software applications leads to different concurrency errors amongst which data race is the most important. Java provides greatest support for concurrent programming by introducing various concurrency packages. Aspect oriented programming (AOP) is modern programming paradigm facilitating the runtime interception of even...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2005